启动报错

启动nginx服务时如果遇到这个错误 Job for nginx.service failed because the control process exited with error code. See “systemctl stat 可能原因如下

1.nginx配置文件有错误

运行下面命令查看修改
nginx -t

2.已经启动nginx或者配置文件中的端口号被占用

检查端口是否被占用
netstat -tnlp

如果端口已经被占用,自己权衡一下是换个端口还是把占用端口的进程杀掉
检查nginx是否已经启动
ps -aux | grep nginx

如果已经启动使用下面命令干掉即可

pkill -9 nginx

解决Nginx出现403 forbidden (13: Permission denied)报错

查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下

"/app/index.html" is forbidden (13: Permission denied), client: 10.43.25.6, server: localhost, request: "GET / HTTP/1.1", host: "10.42.1.50"

由于启动用户和nginx工作用户不一致所致

# 查看nginx的启动用户,发现是nginx,而为是用root启动的
ps aux | grep nginx

# 显示如下:
nginx      1180  0.0  0.0 121164  3740 ?        S    14:03   0:00 nginx: worker process
nginx      1181  0.0  0.0 121164  3740 ?        S    14:03   0:00 nginx: worker process

# 将nginx.config的user改为和启动用户一致
vi conf/nginx.conf

# 修改如下:
# user  nginx;
user  root;

权限问题,如果nginx没有web目录的操作权限,也会出现403错误

# 修改权限
chmod -R 777 /app

SELinux设置为开启状态(enabled)的原因

# 查看当前selinux的状态
/usr/sbin/sestatus

# 显示如下:
SELinux status:                 enabled

# 将SELINUX=enforcing 修改为 SELINUX=disabled 状态
vi /etc/selinux/config

# 修改如下:
#SELINUX=enforcing
SELINUX=disabled

# 重启生效
reboot